package Funcionalidades.Menues;

import javax.swing.JComboBox;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.UIManager;
import javax.swing.border.Border;

import de.javasoft.plaf.synthetica.SyntheticaOrangeMetallicLookAndFeel;

import java.awt.Dimension;
import java.awt.Font;
import java.util.Vector;


public abstract class PanelGeneral extends JPanel {

	private static final long serialVersionUID = 1L;
	public Dimension label;
	public Dimension datos;
	public Dimension panelLabel;
	private String nombreCU;
	private Border redline;
	private Border text;
	private Border combo;
	private Vector<Object> obligatorios= new Vector<Object>();
	
	private FrameUsuarioAutenticado framePerteneciente;
	//public GestorErrores gError= new GestorErrores();



	
	public PanelGeneral(FrameUsuarioAutenticado framePerteneciente) {
		super();
		

		setFont(new Font("Andalus", Font.PLAIN, 14));

		this.setFramePerteneciente(framePerteneciente);
		setOpaque(false);
		label=new Dimension(80,30);
		datos= new Dimension(150, 30);
		panelLabel= new Dimension(800, 80);

	    try 
	    {
	      UIManager.setLookAndFeel(new SyntheticaOrangeMetallicLookAndFeel());
	    } 
	    catch (Exception e) 
	    {
	    	e.printStackTrace();
	    }
		



	}



	public String getNombreCU() {
		return nombreCU;
	}



	public void setNombreCU(String nombreCU) {
		this.nombreCU = nombreCU;
	}



	public FrameUsuarioAutenticado getFramePerteneciente() {
		return framePerteneciente;
	}



	public void setFramePerteneciente(FrameUsuarioAutenticado framePerteneciente) {
		this.framePerteneciente = framePerteneciente;
	}



	public Border getRedline() {
		return redline;
	}



	public void setRedline(Border redline) {
		this.redline = redline;
	}

	public Border getCombo() {
		return combo;
	}

	public void setCombo(Border combo) {
		this.combo = combo;
	}
	@SuppressWarnings("unchecked")
	// Devuelve true si estan todos completos.
	public boolean camposObligatorios(Vector<Object> componentes){
		boolean flag= true;
		if(!componentes.isEmpty()){
			for(int i=0;i<componentes.size();i++){
				Object elemento=componentes.get(i);
				
				try {
					if(((JTextField) elemento).getText().equals("")){
						((JTextField) elemento).setBorder(redline);
						flag=false;
					}} catch (Exception e) {;}

				try {
					if(((JTextArea) elemento).getText().equals("")){
						((JTextArea)elemento).setBorder(redline);
						flag=false;
					}} catch (Exception e) {;}

				try {
					if(((JComboBox<String>) elemento).getSelectedItem().equals("")){
						((JComboBox<String>)elemento).setBorder(redline);
						flag=false;
					}} catch (Exception e) {;}
				
			}
		}
		return flag;
		
	}

	public Vector<Object> getObligatorios() {
		return obligatorios;
	}

	public void setObligatorios(Vector<Object> obligatorios) {
		this.obligatorios = obligatorios;
	}
	
	public Border getText(){
		return text;
	}
	
	public void setText(Border b){
		text=b;
	}
	
	


}
